home *** CD-ROM | disk | FTP | other *** search
/ Megaware 1 / Megaware Volume 1.iso / utils / mem-expa / technote.doc < prev    next >
Encoding:
Text File  |  1988-12-15  |  21.0 KB  |  561 lines

  1.                V-EMM COMPATIBILITY GUIDE
  2.                -------------------------
  3.  
  4.  
  5. Release 2.06 of V-EMM, the Virtual Expanded Memory Manager.
  6. Copyright (C) Rocke Verser, 1986, 1988.  All rights reserved.
  7.  
  8.  
  9. Fort's Software                    Fort's Software
  10. P. O. Box 1295                     P. O. Box 396
  11. Loveland, Colorado  80539          Manhattan, Kansas  66502
  12. (303) 663-5629                     (913) 537-2897
  13.  
  14.  
  15.  
  16.  
  17.  
  18. PREFACE
  19. -------
  20.  
  21.  
  22. In general, most Application Software runs fine under V-EMM.
  23. Where a problem exists, it can usually be found in Operating
  24. Environments or in Utility Software.  Problems usually occur
  25. only when V-EMM is running with certain drivers or options.
  26.  
  27. This file lists known and potential compatibility problems
  28. between V-EMM and various commercially available software.
  29.  
  30. This file is divided into two major sections.  The first sec-
  31. tion lists a number of commercial products, and their compat-
  32. ibility with V-EMM.  The second section gives a technical
  33. overview of the possible sources of incompatibility.
  34.  
  35.  
  36.  
  37.  
  38.  
  39. COMPATIBILITY WITH COMMERCIAL SOFTWARE
  40. --------------------------------------
  41.  
  42.  
  43. V-EMM is compatible with the vast majority of EMS applications.
  44. Following, we list a representative sample of the most popular
  45. products with which V-EMM has been tested.  We have also listed
  46. known incompatibilities with popular products.  And we have
  47. attempted to offer some tips on setting up your software to
  48. work well with V-EMM.
  49.  
  50.  
  51. Some of this information comes from our own technical support
  52. department; some of this information comes from vendors of these
  53. products; and some of this information comes from customers who
  54. have reported success or failure in using these products.
  55.  
  56.  
  57. WE DO NOT WARRANT THAT THE FOLLOWING INFORMATION IS COMPLETE,
  58. ACCURATE, OR UP-TO-DATE.  OUR ONLY WARRANTY IS CONTAINED IN
  59. THE FORT'S SOFTWARE PROGRAM LICENSE AGREEMENT, DATED 10/88.
  60.  
  61.  
  62.  
  63.  
  64. 1-2-3 by Lotus Development Corp.           Compatible with V-EMM
  65.  
  66.      Beware that 1-2-3 requires some conventional memory for every
  67.      cell in your spreadsheet.  Use the "Home" and "End Home" keys
  68.      to locate the upper-left and lower-right corners of your
  69.      spreadsheet.  For most spreadsheets, the minimum amount of
  70.      conventional memory required is approximately 4 bytes times
  71.      the number of rows times the number of columns.
  72.  
  73.      This amount of conventional memory is required whether you
  74.      are using V-EMM or an EMS board.
  75.  
  76.      When either expanded memory or conventional memory gets low,
  77.      the MEM status indicator comes on.  When either type of
  78.      memory runs out, the Memory Full error is issued.
  79.  
  80.      If the range appears much larger than you expect, there may
  81.      be an inconspicuous data item in the cell, or perhaps a
  82.      "Range Format" may have been applied to the cell.  If you
  83.      cannot find the reason for an excessively large range, you
  84.      might try "File Combine Copy Specified-Range" into a clear
  85.      worksheet.
  86.  
  87.      Please note that several of the spreadsheets listed below
  88.      have similar quirks regarding their use of conventional
  89.      memory versus expanded memory.  Please consult the spread-
  90.      sheet vendor for more information.
  91.  
  92.  
  93. Symphony by Lotus Development Corp.        Compatible with V-EMM
  94.  
  95.      Similar comments regarding conventional memory usage also
  96.      apply to Symphony.
  97.  
  98.  
  99. SuperCalc by Computer Associates           Compatible with V-EMM
  100.  
  101.  
  102. Excel by Microsoft                         Compatible with V-EMM
  103.  
  104.      Previous versions of V-EMM required that you instruct Excel
  105.      not to use extended memory (via the "ExtendedMemory=0"
  106.      parameter in the WIN.INI file).  This version of V-EMM
  107.      permits Excel to share extended memory with V-EMM.  (See
  108.      note on HIMEM.SYS.)
  109.  
  110.      Please note that Excel's use of extended memory is distinct
  111.      from its use of expanded memory.  Excel has always been able
  112.      to use expanded memory provided by V-EMM.
  113.  
  114.  
  115. Surpass by Surpass Software Systems        Compatible with V-EMM
  116.  
  117.  
  118. Quattro by Borland International           Compatible with V-EMM
  119.  
  120.      Beware that Quattro requires some conventional memory for
  121.      every cell in your spreadsheet.  For most spreadsheets, the
  122.      minimum amount of conventional memory required is approx-
  123.      imately 4 bytes per cell.
  124.  
  125.  
  126. Framework by Ashton-Tate                   Compatible with V-EMM
  127.  
  128.  
  129. Silk by Daybreak Technologies              Compatible with V-EMM
  130.  
  131.  
  132. Words & Figures by Lifetree                Compatible with V-EMM
  133.  
  134.  
  135. Javelin by Javelin Software                See below
  136.  
  137.      Javelin requires the "aliasing" feature, described below.  When
  138.      using VEMMSIM.SYS or VEMMSIME.SYS, Javelin is incompatible with
  139.      V-EMM.  When using VEMMSIM2.SYS or a real expanded memory mana-
  140.      ger, Javelin is compatible with V-EMM.
  141.  
  142.  
  143. Smart by Innovative Software               Compatible with V-EMM
  144.  
  145.      Smart expects the EMS Page Frame to be located in high memory.
  146.      When using the VEMMSIM.SYS or VEMMSIME.SYS commands, DO NOT
  147.      specify the S=0000 option.
  148.  
  149.  
  150. DESQview by Quarterdeck Office Systems     Incompatible with V-EMM
  151.  
  152.  
  153. Windows/286 by Microsoft                   Compatible with V-EMM
  154.  
  155.      When using VEMMSIM.SYS or VEMMSIME.SYS, Windows will not
  156.      exploit expanded memory for program or data storage.  But
  157.      EMS applications running under Windows (such as Excel or
  158.      1-2-3) can use expanded memory.  (See notes on SMARTDRV.SYS
  159.      and HIMEM.SYS.)
  160.  
  161.      Please note that Windows can exhibit this behavior when using
  162.      an EMS board.  If Windows doesn't like the location of the
  163.      EMS Page Frame, it simply ignores expanded memory.
  164.  
  165.  
  166. Software Carousel by Softlogic Solutions   Compatible with V-EMM
  167.  
  168.      The VEMMTSR1 program should be running.
  169.  
  170.  
  171. Taskview (Omniview) by Sunny Hill Software Compatible with V-EMM
  172.  
  173.      The VEMMTSR1 program should be running.
  174.  
  175.  
  176. HIMEM by Microsoft                         See below
  177.  
  178.      HIMEM.SYS is distributed by Microsoft through a number of
  179.      channels.  HIMEM version 2.04 (and below) contains a serious
  180.      defect that renders it unusable with all other programs that
  181.      use extended memory.  If you have HIMEM, our technical support
  182.      staff may be able to provide you with a patch to correct the
  183.      problem.  With our patch, HIMEM is compatible with V-EMM.
  184.      The forthcoming HIMEM v2.05 is expected to incorporate this
  185.      correction, and thus should be compatible with V-EMM.
  186.  
  187.  
  188. Reflex by Borland International            Compatible with V-EMM
  189.  
  190.  
  191. Paradox by Ansa                            See below
  192.  
  193.      Paradox includes its own disk cache.  This automatic disk-
  194.      caching should be disabled via the Paradox Custom Configuration
  195.      Program.
  196.  
  197.  
  198. SpeedStor by Storage Dimensions            See below
  199. Disk Manager by Ontrack Computer Systems   See below
  200.  
  201.      When these products are used to configure incompatible media,
  202.      the V-EMM paging-file cannot be placed on such media.  Other-
  203.      wise, these products are compatible with V-EMM.
  204.  
  205.  
  206. RAMDRIVE.SYS by Microsoft                   Compatible with V-EMM
  207.  
  208.      RAMDRIVE is a RAM-disk program, provided with Microsoft
  209.      Windows and with some versions of MS-DOS.  RAMDRIVE can
  210.      be installed in conventional memory, extended memory, or
  211.      expanded memory and is compatible with V-EMM in all modes.
  212.      For a RAM-disk in expanded memory, we recommend you use
  213.      our VEMMDSK driver.
  214.  
  215.  
  216. SMARTDRV.SYS by Microsoft                   See below
  217.  
  218.      SMARTDRV is a disk-caching program, provided with Microsoft
  219.      Windows.  If possible, SMARTDRV should be configured to use
  220.      a portion of extended memory.  Otherwise, SMARTDRV should
  221.      be configured to use conventional memory.  In these cases,
  222.      SMARTDRV is compatible with V-EMM.
  223.  
  224.  
  225. Lightning by PCSG                          See below
  226.  
  227.      Lightning prefers to use expanded memory for its disk-
  228.      caching.  You may choose to run V-EMM without the paging-
  229.      file.  Or you may "hide" V-EMM (via the VEMMHIDE command)
  230.      while installing Lightning, in which case Lightning will
  231.      use conventional memory for its cache buffers.  In these
  232.      cases, Lightning is compatible with V-EMM.
  233.  
  234.  
  235. Super PC-Kwik by Multisoft                 See below
  236.  
  237.      If possible, Super PC-Kwik should be configured to use a
  238.      portion of extended memory.  Otherwise, Super PC-Kwik should
  239.      be configured to use conventional memory.  In these cases,
  240.      Super PC-Kwik is compatible with V-EMM.
  241.  
  242.  
  243. Ready! by Living Videotext                 Compatible with V-EMM
  244.  
  245.      The VEMMTSR1 program must be running.
  246.  
  247.  
  248. Turbo Lightning by Borland International   Compatible with V-EMM
  249.  
  250.      The VEMMTSR1 program must be used if Turbo Lightning
  251.      references any RAM-disk contained in expanded memory.
  252.  
  253.  
  254. Sidekick by Borland International          Compatible with V-EMM
  255.  
  256.      The VEMMTSR1 program should be running.
  257.  
  258.  
  259. PrintQ by Software Directions              Compatible with V-EMM
  260.  
  261.      The VEMMTSR1 program should be running.
  262.  
  263.  
  264. Personal REXX by Mansfield Software Group  Compatible with V-EMM
  265.  
  266.  
  267. KEDIT by Mansfield Software Group          Compatible with V-EMM
  268.  
  269.  
  270. AutoCAD by Autodesk                        Compatible with V-EMM
  271.  
  272.      Large memory requirements make AutoCAD difficult to install
  273.      with VEMMSIM.SYS or VEMMSIME.SYS
  274.  
  275.  
  276. SAS by SAS Institute, Inc.                 See below
  277.  
  278.      SAS is compatible with V-EMM.  However, SAS makes extensive use
  279.      of expanded memory for swapping code.  When SAS is used with
  280.      VEMMSIM.SYS or VEMMSIME.SYS, performance is generally unaccept-
  281.      able.  When used with VEMMSIM2.SYS or with a real EMS board,
  282.      performance is generally good.
  283.  
  284.  
  285. Word Perfect Libraries by Word Perfect Corp.  Compatible with V-EMM
  286.  
  287.  
  288. Publisher's Paintbrush by Z-Soft           Compatible with V-EMM
  289.  
  290.  
  291. Show Partner by Brightbill-Roberts         Compatible with V-EMM
  292.  
  293.  
  294. Fontasy by ProSoft                         Compatible with V-EMM
  295.  
  296.  
  297. Extend-a-Name by World Software            Compatible with V-EMM
  298.  
  299.  
  300. Non-Volatile RAM-Disk by Fort's Software   Compatible with V-EMM
  301.  
  302.  
  303. PC-DOS 4.0 BUFFERS= Command by IBM Corp.   See below
  304. PC-DOS 4.0 FASTOPEN Command by IBM Corp.   See below
  305. PC-DOS 4.0 VDISK.SYS by IBM Corp.          See below
  306.  
  307.      PC-DOS 4.0 includes limited support of expanded memory by
  308.      these commands.  Numerous bugs exist in IBM's support of
  309.      expanded memory.  Errors in handling the CONFIG.SYS
  310.      BUFFERS= command, for example, can result in corruption
  311.      of your hard-disk.  DO NOT specify the /X option with any
  312.      of these commands.  Otherwise, these commands are
  313.      compatible with V-EMM.
  314.  
  315.  
  316. PC-DOS 4.0 XMAEM.SYS by IBM Corp.          See below
  317. PC-DOS 4.0 XMA2EMS.SYS by IBM Corp.        See below
  318.  
  319.      These PC-DOS 4.0 Device Drivers can turn a few of IBM's
  320.      memory boards into EMS boards.  As such, these drivers can
  321.      be used with V-EMM in the same way that an EMS board can be
  322.      used with V-EMM.  (V-EMM would be used with a paging-file
  323.      to provide virtual memory.)  If you DO NOT specify the P254
  324.      or P255 options on the XMA2EMS device driver, these drivers
  325.      are compatible with V-EMM.
  326.  
  327.      Please note:  These PC-DOS 4.0 EMS drivers are not in compli-
  328.      ance with the EMS 4.0 specification.  (They fail the PC Maga-
  329.      zine Labs EMS 4.0 Performance Tests, for example.)  But when
  330.      these drivers are used together with V-EMM, the combination
  331.      PASSES the PC Labs' EMS 4.0 test!
  332.  
  333.  
  334. F-EMM by Fort's Software                   Compatible with V-EMM
  335.  
  336.      F-EMM, the Fort's Software Expanded Memory Manager, provides
  337.      true LIM EMS 4.0 support for many PS/2 Model 50 and 60 memory
  338.      boards.  The IBM Memory Expansion Option (6450344) and IBM's
  339.      Expanded Memory Adapters (1497252 and 1497259) are supported.
  340.      Several third-party boards are also supported.  F-EMM can be
  341.      used by itself to achieve 100% compatible LIM EMS 4.0 support
  342.      on these boards.  F-EMM can also be used with V-EMM in the
  343.      same way that an EMS board can be used with V-EMM.  (V-EMM
  344.      would be used with a paging-file to provide virtual memory.)
  345.  
  346.  
  347. QEMM 50/60 by Quarterdeck Office Systems   Compatible with V-EMM
  348.  
  349.      QEMM 50/60 is the Quarterdeck label version of F-EMM.  It is
  350.      licensed to Quarterdeck Office Systems by Fort's Software.
  351.      QEMM 50/60 can also be used with V-EMM in the same way that an
  352.      EMS board can be used with V-EMM.  (V-EMM would be used with
  353.      a paging-file to provide virtual memory.)
  354.  
  355.  
  356. QEMM 386 by Quarterdeck Office Systems     Compatible with V-EMM
  357.  
  358.      QEMM 386 can be used with V-EMM in the same way that an EMS
  359.      board can be used with V-EMM.  (V-EMM would be used with a
  360.      paging-file to provide virtual memory.)
  361.  
  362.  
  363.  
  364. 386MAX by Qualitas                         Compatible with V-EMM
  365.  
  366.      386MAX can be used with V-EMM in the same way that an EMS
  367.      board can be used with V-EMM.  (V-EMM would be used with a
  368.      paging-file to provide virtual memory.)
  369.  
  370.  
  371. 386LOAD by Qualitas                        Compatible with V-EMM
  372.  
  373.      386LOAD can be used to load the VEMM.SYS device driver in
  374.      high memory.  You should specify 386LOAD's SIZE=65520
  375.      parameter.  The VEMM.SYS device driver needs this much
  376.      storage for initialization only!  The driver will terminate
  377.      using a much smaller quantity of memory.
  378.  
  379.  
  380.  
  381.  
  382.  
  383. TECHNICAL OVERVIEW OF SOURCES OF INCOMPATIBILITY
  384. ------------------------------------------------
  385.  
  386.  
  387. In this section, we identify 5 major classes of potential
  388. incompatibilities.  If you are using the listed driver (or
  389. option), you MAY have problems of the indicated class.  If
  390. you are not using the listed driver, you WILL NOT have
  391. problems of the indicated class.
  392.  
  393.  
  394. NOTE:  THE DESCRIPTIONS OF COMPATIBILITY PROBLEMS ARE FAIRLY
  395. TECHNICAL.  THE NON-TECHNICAL READER IS ADVISED TO SKIP THIS
  396. SECTION.
  397.  
  398.  
  399.                                           Classes of
  400. Drivers loaded / options used             Potential Problems
  401. -----------------------------             ------------------
  402. VEMMSIM.SYS                                A, M
  403. VEMMSIME.SYS                               A, E, M
  404. VEMM.SYS D= parameter                      D
  405. All uses of V-EMM                          B
  406.  
  407.  
  408. A - Aliasing is not supported in this configuration.
  409. B - The EMS "Busy" status can be reported to callers.
  410. D - A hard disk is used in this configuration.
  411. E - Extended memory is used in this configuration.
  412. M - A significant amount of memory is consumed in this configuration.
  413.  
  414.  
  415. CLASS A - Aliasing is not supported
  416. -----------------------------------
  417.  
  418. "Aliasing" is the ability to map the same piece of physical memory
  419. into two or more different locations in logical memory at the same
  420. time.  We are aware of only one commercial product that relies upon
  421. "aliasing".
  422.  
  423.  
  424. CLASS B - The EMS "Busy" status can be reported to callers
  425. ----------------------------------------------------------
  426.  
  427. The EMS Specification says that an EMS driver can be called at
  428. any point in time.  The driver should always be able to perform
  429. its work, regardless of what system activity is occurring.
  430. The ability to be called at any time is called "reentrancy".
  431.  
  432. When a driver is entirely self-contained (writing directly
  433. to registers on its own board, for example), the reentrancy
  434. requirement can usually be met.  EMS boards generally claim
  435. to meet this requirement.
  436.  
  437. When the driver must utilize the services of DOS or of the BIOS,
  438. reentrancy can be achieved only if the underlying services are
  439. also reentrant.  Neither PC DOS nor the BIOS are reentrant.
  440.  
  441. Since V-EMM relies on the BIOS for access to extended memory and
  442. to the hard disk, V-EMM cannot guarantee reentrancy.
  443.  
  444. Application programs generally pose no problem, since they would
  445. never present V-EMM with a reentrant call.
  446.  
  447. Problems can occur if interrupt handlers, including pop-ups and
  448. print spoolers, attempt to access expanded memory.  Such accesses
  449. can be an explicit call to the EMS or can be implicit (such as
  450. accessing a file contained in a RAM-disk, where the RAM-disk is
  451. implemented in expanded memory).
  452.  
  453. Our program, VEMMTSR1, prevents most pop-ups and print spoolers
  454. (including the DOS PRINT command) from popping up when the EMS
  455. is busy.  It does not prevent other interrupt handlers (such as
  456. DESQview's timer or keyboard interrupt handlers) from attempting
  457. to access EMS.
  458.  
  459. Problems can also occur if the BIOS, itself, makes use of expanded
  460. memory.  See the sections on incompatibility classes D and E for
  461. more information.
  462.  
  463.  
  464. CLASS D - A hard disk is used
  465. -----------------------------
  466.  
  467. To avoid many of reentrancy problems associated with problem class
  468. "B", above, V-EMM does not use DOS for paging to the hard disk.
  469. Instead, V-EMM accesses the disk through the BIOS.
  470.  
  471. The first potential problem is that a few hard-disks do not provide
  472. a BIOS interface.  Obviously, the V-EMM paging-file cannot be placed
  473. on such a disk.  Even if you have no other hard-disk, V-EMM can still
  474. be used for EMS simulation with the VEMMSIME.SYS or VEMMSIM2.SYS
  475. device drivers.
  476.  
  477. The second potential problem is that third-party disk-partitioning
  478. schemes sometimes produce unrecognizable media.  if a disk was
  479. partitioned and formatted by the PC DOS FDISK and FORMAT commands,
  480. V-EMM will be able to use it.  If use of standard PC DOS partitions
  481. is not possible, our technical support staff can frequently get V-EMM
  482. to recognize your disk.
  483.  
  484. The third potential problem is if the BIOS, itself, makes use of
  485. expanded memory.  This can occur only if a third-party product has
  486. hooked the BIOS hard-disk routines, thus making itself an extension
  487. of the BIOS.  Problems then occur only if the third-party product
  488. uses expanded memory.
  489.  
  490. Certain disk-caching programs are a classic example.  While V-EMM is
  491. using the disk to hold EMS data, the disk-cache is using EMS to hold
  492. disk data.  Each program calls the other to store the data.  General-
  493. ly, your system will freeze-up.  If the disk-caching program does
  494. not properly check return codes from V-EMM, the disk-caching program
  495. can (rarely) corrupt your hard-disk.
  496.  
  497. There are several solutions to the disk-caching problems.  First,
  498. configure the disk-cache to use extended memory, rather than expanded
  499. memory.  If this is not possible, configure V-EMM to do without the
  500. paging-file.  If this is not possible, disable caching of the drive
  501. on which the paging-file is located.  And if this is not possible,
  502. consider another disk-caching program.
  503.  
  504. If the disk-cache uses extended memory (such as IBMCACHE), or if the
  505. disk-cache works by intercepting DOS interrupts or by intercepting
  506. DOS device driver calls, the cache should be compatible with V-EMM.
  507.  
  508.  
  509. CLASS E - Extended memory is used
  510. ---------------------------------
  511.  
  512. Use of extended memory by more than one program has always been a
  513. compatibility headache.  Older programs that use extended memory
  514. tend to assume they have complete ownership of all extended memory.
  515. Some permit the user to specify which portion of extended memory
  516. is to be used.
  517.  
  518. A few programs have looked for extended memory allocated in the
  519. style used by IBM's VDISK program.  A few programs have tried to
  520. mimic the style used by IBM's VDISK program to reflect their own
  521. usage.  Such techniques have been only moderately successful.
  522. (Consider for example, that two different versions of VDISK (e.g.,
  523. the PC DOS 3.2 and 3.3 versions) cannot recognize each other's
  524. presence.)
  525.  
  526. Using a technique introduced by IBM with their IBMCACHE program,
  527. VEMMSIME.SYS takes the specified amount of memory from the top of
  528. extended memory.  It then hides the memory it consumes from programs
  529. loaded later than itself.  This technique appears to be quite
  530. reliable, provided you can load the newer, smarter programs before
  531. the older, dumber programs.
  532.  
  533. Another potential problem is if the BIOS, itself, makes use of
  534. expanded memory.  This can occur only if a third-party product has
  535. hooked the BIOS Block Move routine, thus making itself an extension
  536. of the BIOS.  Problems then occur only if the third-party product
  537. uses expanded memory.
  538.  
  539.  
  540. CLASS M - A significant amount of memory is consumed
  541. ----------------------------------------------------
  542.  
  543. Although not an incompatibility, per se, when V-EMM is used with
  544. the VEMMSIM.SYS or VEMMSIME.SYS device drivers, approximately
  545. 76 kilobytes of conventional memory is consumed.  In exchange for
  546. that conventional memory, you get up to 32768 kilobytes of expanded
  547. memory.
  548.  
  549. Programs with extremely large conventional memory requirements may
  550. not fit.
  551.  
  552. When used in an environment where a large amount of memory is
  553. devoted to TSRs or device drivers (including many networking
  554. environments), programs with large conventional memory requirements
  555. may not fit.
  556.  
  557. The VEMMHIDE command lets you hide (and reveal) expanded memory
  558. without rebooting.  In many cases, when you "hide" expanded memory,
  559. we will temporarily yield 64 kilobytes of memory to DOS.  Then when
  560. you "reveal" expanded memory, we will reclaim the memory from DOS.
  561.